package presentation.view.medico;

import domain.controller.MedicoController;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import domain.pojo.Medico;
import util.TableHelper;
import presentation.view.JanelaInicial;
import presentation.view.MainFrame;

/**
 *
 * @author Owner
 */
public class MedicoListar extends TableHelper{
    static JFrame Janela;
    
    Object[][] data;
    String[] nomeDasColunas = {"CRM","Nome", "Especialidade"};
    int quantidade;

    public MedicoListar() {
	MedicoController mc = new MedicoController();
	quantidade = mc.getQuantidade();
	data = mc.getDados(quantidade);
	
	iniciaTabela( nomeDasColunas, data, quantidade,1,"Nome");
	this.setOpaque(true);
    }

    @Override
    public void eventoAlterar(String helper) {
	int row = getAtual(helper);
	Medico medico = new Medico(Integer.parseInt(data[row][5].toString()),
						    data[row][0].toString(),
						    data[row][3].toString(),
						    data[row][4].toString(),
						    data[row][1].toString(),
						    data[row][2].toString());
	MainFrame.getInstance().alterarPainel(new MedicoAdicionarAlterar(medico), this);
    }

    @Override
    public void eventoExcluir(String helper){
	int row = getAtual(helper);
	String nome = data[row][1].toString();

	if( JOptionPane.showConfirmDialog(null,	"Confirma remoção do medico " + nome + "?", "POO", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION ){
	    MedicoController modelo = new MedicoController();
	    Medico medico = new Medico(Integer.parseInt(data[row][5].toString()),
							data[row][0].toString(),					
						        data[row][3].toString(),
							data[row][4].toString(),
							data[row][1].toString(),
							data[row][2].toString());
	    modelo.excluir( Integer.parseInt(data[row][5].toString()));
	    MainFrame.getInstance().alterarPainel(new MedicoListar(), JanelaInicial.getInstance());
	}
    }

    @Override
    public void eventoAdicionar() {
	MainFrame.getInstance().alterarPainel(new MedicoAdicionarAlterar(), this);
    }

    @Override
    public String getNomeButtonAdicionar() {
	return "Adicionar novo medico";
    }

    @Override
    public void eventoJanelaDetalhe(String helper) {
	int row = getAtual(helper);
	Medico medico = new Medico(Integer.parseInt(data[row][5].toString()),
						    data[row][0].toString(),				    
						    data[row][3].toString(),
						    data[row][4].toString(),
						    data[row][1].toString(),
						    data[row][2].toString());
	JPanel painel = new MedicoDetalhe(medico);
	
	JOptionPane.showMessageDialog(null, painel, "Detalhes", JOptionPane.INFORMATION_MESSAGE);
    }
}